home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The PC-SIG Library 9
/
The PC-SIG Library on CD ROM - Ninth Edition.iso
/
001_100
/
DISK0093
/
DISK0093.ZIP
/
TANK.BAS
< prev
next >
Wrap
BASIC Source File
|
1983-09-18
|
8KB
|
171 lines
10 KEY OFF:CLS
20 SCREEN 0
30 WIDTH 40
40 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
50 PRINT"░┌───────────────────────────────────┐░"
60 PRINT"░│ │░"
70 PRINT"░│ 2077-A.BAS │░"
80 PRINT"░│ TANK │░"
90 PRINT"░│ │░"
100 PRINT"░│ │░"
110 PRINT"░│ BROUGHT TO YOU BY THE MEMBERS OF │░"
120 PRINT"░│ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄ │░"
130 PRINT"░│ █ █ █ █ █ █ │░"
140 PRINT"░│ █ █▄▄▄█ █ █ █ │░"
150 PRINT"░│ █ █ █ █ █ │░"
160 PRINT"░│ ▄▄█▄▄ █ █▄▄▄▄ █▄▄▄█ │░"
170 PRINT"░│ │░"
180 PRINT"░│ International PC Owners │░"
190 PRINT"░│ │░"
200 PRINT"░│P.O. Box 10426, Pittsburgh PA 15234│░"
210 PRINT"░│ │░"
220 PRINT"░└───────────────────────────────────┘░"
230 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
240 PRINT
250 PRINT " PRESS ANY KEY TO CONTINUE
260 A$=INKEY$: IF A$="" THEN 260
270 WIDTH 80
280 CLS
1000 '<====={ TANK }=====>
1010 'Danny Y. Toronot User Group + JULIAN M.
1020 CLEAR:SOU=0:KEY OFF:RB$=CHR$(248):LB$=CHR$(42)
1030 GOSUB 2000:GOSUB 2150:GOSUB 1450:SP$=CHR$(32):RP$=CHR$(232):LP$=CHR$(233)
1040 A=20:B=77:E=3:F=3:D=0:G=0:H=0:I=0:K=0:Q=0:R=0:S=5:T=0:W=5:U=0:GOSUB 1990
1050 LOCATE 22,26:COLOR 0,7:PRINT"TO END GAME PRESS THE ESC BUTTON":COLOR 7,0
1060 LOCATE 1,38:COLOR 0,7:PRINT"TANK!":COLOR 7,0:EX$=CHR$(8)
1070 IF SOU=0 THEN LOCATE 1,65:COLOR 0,7:PRINT"SOUND ON "
1080 IF SOU=2 THEN LOCATE 1,65:COLOR 0,7:PRINT"SOUND OFF"
1090 COLOR 7,0
1100 C$=INKEY$
1110 IF C$="I"OR C$="i"THEN GOSUB 2280:GOTO 1070
1120 IF C$="O"OR C$="o"THEN SOU=2:GOTO 1070
1130 IF C$="P"OR C$="p"THEN SOU=0:GOTO 1070
1140 IF C$=CHR$(27)THEN 2030
1150 IF C$="M"OR C$="K"OR C$="L"THEN 1100
1160 IF RIGHT$(C$,1)="H"OR C$="8"THEN X$="I":GOSUB 1280
1170 IF C$="W"OR C$="w"THEN X$="W":GOSUB 1360
1180 IF RIGHT$(C$,1)="P"OR C$="2"THEN X$="M":GOSUB 1320
1190 IF C$="X"OR C$="x"THEN X$="X":GOSUB 1400
1200 IF RIGHT$(C$,1)="M"OR C$="6"THEN X$="L":GOSUB 1340
1210 IF C$="D"OR C$="d"THEN X$="D":GOSUB 1420
1220 IF RIGHT$(C$,1)="K"OR C$="4"THEN X$="J":GOSUB 1300
1230 IF C$="A"OR C$="a"THEN X$="A":GOSUB 1380
1240 IF RIGHT$(C$,1)="R"OR C$="0"OR C$="5"THEN GOSUB 1470
1250 IF C$="S"OR C$="s"THEN GOSUB 1600
1260 LOCATE A,B:PRINT RP$
1270 LOCATE E,F:PRINT LP$:GOTO 1100
1280 IF A-1<2 THEN RETURN
1290 LOCATE A,B:PRINT SP$:A=A-1:RETURN
1300 IF B-1<2 THEN RETURN
1310 LOCATE A,B:PRINT SP$:B=B-1:RETURN
1320 IF A+1>21 THEN RETURN
1330 LOCATE A,B:PRINT SP$:A=A+1:RETURN
1340 IF B+1>79 THEN RETURN
1350 LOCATE A,B:PRINT SP$:B=B+1:RETURN
1360 IF E-1<2 THEN RETURN
1370 LOCATE E,F:PRINT SP$:E=E-1:RETURN
1380 IF F-1<2 THEN RETURN
1390 LOCATE E,F:PRINT SP$:F=F-1:RETURN
1400 IF E+1>21 THEN RETURN
1410 LOCATE E,F:PRINT SP$:E=E+1:RETURN
1420 IF F+1>79 THEN RETURN
1430 LOCATE E,F:PRINT SP$:F=F+1:RETURN
1440 RETURN
1450 GOSUB 2000:LOCATE 22,10
1460 COLOR 0,7:PRINT"TANKS":LOCATE 22,68:PRINT"TANKS":COLOR 7,0:RETURN
1470 G=A:U=B:IF X$="I"THEN 1520
1480 IF X$="M"THEN 1540
1490 IF X$="L"THEN 1560
1500 IF X$="J"THEN 1580
1510 LOCATE G,B:PRINT SP$:LOCATE A,U:PRINT SP$:GOSUB 2240:RETURN
1520 LOCATE A,B:PRINT RP$:LOCATE G,B:PRINT SP$:G=G-1:LOCATE G,B:COLOR 15,0:PRINT RB$:COLOR 7,0:GOSUB 1730:IF G<3 THEN 1510
1530 GOTO 1520
1540 LOCATE A,B:PRINT RP$:LOCATE G,B:PRINT SP$: G=G+1:LOCATE G,B:COLOR 15,0:PRINT RB$:COLOR 7,0:GOSUB 1730:IF G>20 THEN 1510
1550 GOTO 1540
1560 LOCATE A,B:PRINT RP$:LOCATE A,U:PRINT SP$:U=U+1:LOCATE A,U:COLOR 15,0:PRINT RB$:COLOR 7,0:GOSUB 1730:IF U>78 THEN 1510
1570 GOTO 1560
1580 LOCATE A,B:PRINT RP$:LOCATE A,U:COLOR 15,0:PRINT SP$:U=U-1:LOCATE A,U:COLOR 15,0:PRINT RB$:COLOR 7,0:GOSUB 1730:IF U<3 THEN 1510
1590 GOTO 1580
1600 G=E:U=F:IF X$="W"THEN 1650
1610 IF X$="X"THEN 1670
1620 IF X$="D"THEN 1690
1630 IF X$="A"THEN 1710
1640 LOCATE G,F:PRINT SP$:LOCATE E,U:PRINT SP$:GOSUB 2240:RETURN
1650 LOCATE E,F:PRINT LP$:LOCATE G,F:PRINT SP$:G=G-1:LOCATE G,F:COLOR 15,0:PRINT LB$:COLOR 7,0:GOSUB 1860:IF G<3 THEN 1640
1660 GOTO 1650
1670 LOCATE E,F:PRINT LP$:LOCATE G,F:PRINT SP$:G=G+1:LOCATE G,F:COLOR 15,0:PRINT LB$:COLOR 7,0:GOSUB 1860:IF G>20 THEN 1640
1680 GOTO 1670
1690 LOCATE E,F:PRINT LP$:LOCATE E,U:PRINT SP$:U=U+1:LOCATE E,U:COLOR 15,0:PRINT LB$:COLOR 7,0:GOSUB 1860:IF U>78 THEN 1640
1700 GOTO 1690
1710 LOCATE E,F:PRINT LP$:LOCATE E,U:PRINT SP$:U=U-1:LOCATE E,U:COLOR 15,0:PRINT LB$:COLOR 7,0:GOSUB 1860:IF U<3 THEN 1640
1720 GOTO 1710:'REM ROUTINE TO SCORE AND SOUND
1730 IF G=E THEN 1750
1740 GOTO 1760
1750 IF U=F THEN 1770
1760 RETURN
1770 FOR J=1 TO 25:LOCATE E,F:PRINT EX$:LOCATE E,F:COLOR 0,7:PRINT EX$:COLOR 7,0
1780 IF SOU=2 THEN 1820
1790 COLOR 7,0:SOUND 440,.4
1800 SOUND 230.81,.4
1810 SOUND 780 ,.4
1820 NEXT J
1830 W=W-1
1840 IF W<1 THEN WI=2:GOTO 2030
1850 GOSUB 1990:GOTO 1100
1860 IF G=A THEN 1880
1870 GOTO 1890
1880 IF U=B THEN 1900
1890 RETURN
1900 FOR J=1 TO 25:LOCATE A,B:PRINT EX$:LOCATE A,B:COLOR 0,7:PRINT EX$:COLOR 7,0
1910 IF SOU=2 THEN 1950
1920 SOUND 440,.4
1930 SOUND 230.81,.4
1940 SOUND 780 ,.4
1950 NEXT J
1960 S=S-1
1970 IF S<1 THEN WI=1:GOTO 2030
1980 GOSUB 1990:GOTO 1100
1990 LOCATE 23,11:PRINT LP$;W:LOCATE 23,69:PRINT RP$;S:RETURN
2000 CLS:LL$=CHR$(0):LM$=CHR$(0):LL$=CHR$(219):FOR CA=1 TO 79'BOARDER
2010 LM$=LM$+LL$:NEXT:LOCATE 1,1:PRINT LM$:LOCATE 22,1:PRINT LM$:FOR CA=1 TO 22
2020 LOCATE CA,1:PRINT LL$:LOCATE CA,80:PRINT LL$:NEXT:CA=0:RETURN
2030 GOSUB 2000:'TO END GAME
2040 LOCATE 9,37:COLOR 1,0:PRINT" TANK !":COLOR 7,0
2050 COLOR 7,0:LOCATE 14,32:IF WI=1 THEN CH=233:GOTO 2080
2060 IF WI=2 THEN CH=232:GOTO 2080
2070 GOTO 2090
2080 COLOR 19,0:PRINT CHR$(CH)" IS THE WINNER!!!!":COLOR 7,0
2090 LOCATE 18,26:PRINT"DO YOU WISH TO PLAY AGAIN (Y/N) ";
2100 C$=INPUT$(1)
2110 IF C$="Y" OR C$="y" THEN 1020
2120 IF C$="N" OR C$="n" THEN 2140
2130 BEEP:GOTO 2090
2140 CLS:LOCATE 11,35:COLOR 17,0:PRINT"SEE YA'":COLOR 7,0:LOCATE 22,1:END
2150 LOCATE 6,36:COLOR 1,0:PRINT" TANK !":COLOR 7,0
2160 LOCATE 10,13:PRINT"PRESS "CHR$(34)"I"CHR$(34)" TO LEARN THE RULES OF THE GAME DURING GAME PLAY"
2170 LOCATE 12,15:PRINT"PRESS "CHR$(34)"O"CHR$(34)" TO TURN SOUND OFF ANYTIME DURING GAME PLAY"
2180 LOCATE 14,15:PRINT"PRESS "CHR$(34)"P"CHR$(34)" TO TURN SOUND ON ANYTIME DURING GAME PLAY"
2190 LOCATE 16,24:PRINT"NUMBER OF TANKS PER PLAYER IS FIVE(5)"
2200 LOCATE 20,28:PRINT"PRESS ANY KEY TO CONTINUE":LOCATE 18,24:PRINT"TO END GAME PRESS THE ESC BUTTON"
2210 A$=INKEY$
2220 IF A$="" THEN 2210
2230 RETURN:'REM NOISE FOR MISSES
2240 IF SOU=2 THEN RETURN
2250 SOUND 250,.7
2260 SOUND 450,.9
2270 SOUND 350,.9:RETURN
2280 GOSUB 2000:LOCATE 8,36:COLOR 1,0:PRINT" TANK !"
2290 COLOR 7,0:LOCATE 12,27:PRINT" THIS IS THE GAME OF TANK.":LOCATE 13,17
2300 PRINT" THE GAME LETS TWO TANK COMMANDERS FIGHT EACH OTHER.":LOCATE 14,8
2310 PRINT"THE PLAYER ON THE LEFT USES THE W,A,X,D AND S AS THE FIRING BUTTON."
2320 LOCATE 15,7:PRINT"THE PLAYER ON THE RIGHT USES THE 8,4,2,6 AND 0 AS THE FIRING BUTTON."
2330 LOCATE 16,26:PRINT"TO TURN OFF SOUND PRESS "CHR$(34)"O"CHR$(34)"."
2340 LOCATE 17,27:PRINT"TO TURN ON SOUND PRESS "CHR$(34)"P"CHR$(34)"."
2350 LOCATE 18,29:PRINT"INSTRUCTIONS PRESS "CHR$(34)"I"CHR$(34)"."
2360 LOCATE 20,24:PRINT"PRESS ANY KEY TO RESUME THE GAME"
2370 IF INKEY$="" THEN 2370
2380 GOSUB 2000:GOSUB 1990
2390 LOCATE 22,26:COLOR 0,7:PRINT"TO END GAME PRESS THE ESC BUTTON":COLOR 7,0
2400 LOCATE 1,38:COLOR 0,7:PRINT"TANK!":COLOR 7,0:RETURN
E 22,26:COLOR 0,7:PRINT"TO END GAME PRESS THE ESC BUTTON":COLOR 7,0
2400 LOCATE 1,38